﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// NotReviewedButNeeded
#pragma once

#include "GcmpCommonEdit.h"

namespace gcmp
{
    class IActionAlignmentBehavior;


    /// \brief 默认对齐Action设置，用于创建对齐Action参数。
    class GCMP_COMMON_EDIT_EXPORT ActionAlignmentInput
    {
    public:
        /// \brief 创建对齐Action配置。
        ActionAlignmentInput();

        /// \brief 析构函数
        ~ActionAlignmentInput(){}

        /// \brief 获取对齐Action的Behavior
        /// \return 对齐Action的Behavior指针
        OwnerPtr<IActionAlignmentBehavior> GetAlignmentActionBehavior();

        /// \brief 设置对齐Action的Behavior
        /// \param opAlignmentActionBehavior 对齐Action的Behavior
        /// \return void
        void SetAlignmentActionBehavior(OwnerPtr<IActionAlignmentBehavior> opAlignmentActionBehavior);

    private:
        gcmp::OwnerPtr<IActionAlignmentBehavior> m_opAlignmentActionBehavior;
    };
}
